﻿//using Dapper;
//using Senparc.Weixin.TenPay;
//using Senparc.Weixin.TenPay.V3;
//using System;
//using System.Data;
//using System.Data.SqlClient;
//using System.Threading.Tasks;
//using WxConfig = Senparc.Weixin.Config;

//namespace Kele.Api.Activity.Engine
//{
//    public partial class ActivityEngine
//    {
//        private TenPayV3Info _tenPayV3Info;

//        private TenPayV3Info TenPayV3Info
//        {
//            get
//            {
//                if (_tenPayV3Info != null) return _tenPayV3Info;
//                var key = TenPayV3InfoCollection.GetKey(WxConfig.SenparcWeixinSetting);
//                _tenPayV3Info = TenPayV3InfoCollection.Data[key];
//                return _tenPayV3Info;
//            }
//        }

//        private async Task Test()
//        {

//          //  Func<int, int, int> function;
//          //  function = new Func<int, int, int>
//          //      ((x, y) => x + y);

//          //var ttt=  function(1, 2);

//            using (SqlConnection con = new SqlConnection(""))
//            {
//                var re = await con.ExecuteReaderAsync("");
//                var re2 = con.ExecuteReader("");

//                var table = re.GetSchemaTable();
//                var ss = table.AsTableValuedParameter("xx");

//                var result = new DataTable();
//                result.Load(re);
//            }
//            Console.Read();
//        }

//        private string GetNewTradeNo()
//        {       //生成订单10位序列号，此处用时间和随机数生成，商户根据自己调整，保证唯一
//            return $"{TenPayV3Info.MchId}{SystemTime.Now:yyyyMMddHHmmss}{TenPayV3Util.BuildRandomStr(6)}";
//        }

//        public async Task<dynamic> TenPayGetJsPaySign(string openid, string body, int totalFee, string outTradeNo, string createIp)
//        {
//            if (string.IsNullOrEmpty(outTradeNo)) outTradeNo = GetNewTradeNo();
//            var timeStamp = TenPayV3Util.GetTimestamp();
//            var nonceStr = TenPayV3Util.GetNoncestr();
//            var xmlDataInfo = new TenPayV3UnifiedorderRequestData(
//                TenPayV3Info.AppId,
//                TenPayV3Info.MchId,
//                body,
//                outTradeNo,
//                totalFee,
//                createIp,
//                TenPayV3Info.TenPayV3Notify,
//                TenPayV3Type.JSAPI,
//                openid,
//                TenPayV3Info.Key,
//                nonceStr);

//            var result = await TenPayV3.UnifiedorderAsync(xmlDataInfo);//调用统一订单接口
//            var package = $"prepay_id={result.prepay_id}";
//            var data = new
//            {
//                appId = TenPayV3Info.AppId,
//                timeStamp,
//                nonceStr,
//                package,
//                paySign = TenPayV3.GetJsPaySign(TenPayV3Info.AppId, timeStamp, nonceStr, package, TenPayV3Info.Key)
//            };
//            return data;
//        }
//    }
//}